/**
 * 给你一个字符串 s ，仅反转字符串中的所有元音字母，并返回结果字符串。
 * 元音字母包括 'a'、'e'、'i'、'o'、'u'，且可能以大小写两种形式出现不止一次。
 */

/**
 * @param {string} s
 * @return {string}
 */
var reverseVowels = function(s) {
    /**
     * 思路：
     * 1. 双指针
     * 2. 一个指向头部，一个指向尾部
     * 3. 遍历字符串，判断是否是元音字母
     * 4. 如果是元音字母，交换两个指针的值
     * 5. 直到两个指针相遇
     */

    let arr = s.split('');
    let left = 0;
    let right = arr.length - 1;
    let vowels = 'aeiouAEIOU';
    while (left < right) {
        if (vowels.indexOf(arr[left]) === -1) {
            left++;
            continue;
        }
        if (vowels.indexOf(arr[right]) === -1) {
            right--;
            continue;
        }
        [arr[left], arr[right]] = [arr[right], arr[left]];
        left++;
        right--;
    }
    return arr.join('');
};